FrameLib  2.0
DSP processing with frames of arbitrary timing and length
FL_FP Class Reference

high-precision unsigned fixed-point numerical format. More...

#include <FrameLib_FixedPoint.h>

Inheritance diagram for FL_FP:
FrameLib_TimeFormat

Public Member Functions

 FL_FP ()
 
 FL_FP (uint64_t a, uint64_t b)
 
 FL_FP (const FL_SP &val)
 
 FL_FP (const double &val)
 
uint64_t intVal () const
 
uint64_t fracVal () const
 
FL_FPoperator+= (const FL_FP &b)
 
FL_FPoperator-= (const FL_FP &b)
 
FL_FPoperator*= (const FL_FP &b)
 
FL_FPoperator/= (const FL_FP &b)
 
FL_FPoperator++ ()
 
FL_FP operator++ (int)
 
FL_FPoperator-- ()
 
FL_FPoperator-- (int)
 
 operator double () const
 
FL_FPoperator= (const double &a)
 
FL_FPoperator+= (const double &b)
 
FL_FPoperator-= (const double &b)
 
FL_FPoperator*= (const double &b)
 
FL_FPoperator/= (const double &b)
 

Friends

bool operator== (const FL_FP &a, const FL_FP &b)
 
bool operator!= (const FL_FP &a, const FL_FP &b)
 
bool operator< (const FL_FP &a, const FL_FP &b)
 
bool operator> (const FL_FP &a, const FL_FP &b)
 
bool operator<= (const FL_FP &a, const FL_FP &b)
 
bool operator>= (const FL_FP &a, const FL_FP &b)
 
bool operator! (const FL_FP &b)
 
FL_FP operator+ (const FL_FP &a, const FL_FP &b)
 
FL_FP operator- (const FL_FP &a, const FL_FP &b)
 
FL_FP operator* (const FL_FP &a, const FL_FP &b)
 
FL_FP operator/ (const FL_FP &a, const FL_FP &b)
 
bool operator== (const FL_FP &a, const double &b)
 
bool operator== (const double &a, const FL_FP &b)
 
bool operator!= (const FL_FP &a, const double &b)
 
bool operator!= (const double &a, const FL_FP &b)
 
bool operator< (const FL_FP &a, const double &b)
 
bool operator< (const double &a, const FL_FP &b)
 
bool operator> (const FL_FP &a, const double &b)
 
bool operator> (const double &a, const FL_FP &b)
 
bool operator<= (const FL_FP &a, const double &b)
 
bool operator<= (const double &a, const FL_FP &b)
 
bool operator>= (const FL_FP &a, const double &b)
 
bool operator>= (const double &a, const FL_FP &b)
 
FL_FP operator+ (const FL_FP &a, const double &b)
 
FL_FP operator+ (const double &a, const FL_FP &b)
 
FL_FP operator- (const FL_FP &a, const double &b)
 
FL_FP operator- (const double &a, const FL_FP &b)
 
FL_FP operator* (const FL_FP &a, const double &b)
 
FL_FP operator* (const double &a, const FL_FP &b)
 
FL_FP operator/ (const FL_FP &a, const double &b)
 
FL_FP operator/ (const double &a, const FL_FP &b)
 

Detailed Description

high-precision unsigned fixed-point numerical format.

This unsigned type allows for 64 bits of integer precision and 64 bits of fractional precision. Basic arithmetic and comparison operators are supported, for this type, and when used in conjunction with double-precision floating-point numbers. The primary purpose of this type is to precisely represent the time in samples in FrameLib.

Constructor & Destructor Documentation

◆ FL_FP() [1/4]

FL_FP::FL_FP ( )
inline

◆ FL_FP() [2/4]

FL_FP::FL_FP ( uint64_t  a,
uint64_t  b 
)
inline

◆ FL_FP() [3/4]

FL_FP::FL_FP ( const FL_SP val)

◆ FL_FP() [4/4]

FL_FP::FL_FP ( const double &  val)

Member Function Documentation

◆ fracVal()

uint64_t FL_FP::fracVal ( ) const
inline

◆ intVal()

uint64_t FL_FP::intVal ( ) const
inline

◆ operator double()

FL_FP::operator double ( ) const
inline

◆ operator*=() [1/2]

FL_FP& FL_FP::operator*= ( const FL_FP b)
inline

◆ operator*=() [2/2]

FL_FP& FL_FP::operator*= ( const double &  b)
inline

◆ operator++() [1/2]

FL_FP& FL_FP::operator++ ( )
inline

◆ operator++() [2/2]

FL_FP FL_FP::operator++ ( int  )
inline

◆ operator+=() [1/2]

FL_FP& FL_FP::operator+= ( const FL_FP b)
inline

◆ operator+=() [2/2]

FL_FP& FL_FP::operator+= ( const double &  b)
inline

◆ operator--() [1/2]

FL_FP& FL_FP::operator-- ( )
inline

◆ operator--() [2/2]

FL_FP& FL_FP::operator-- ( int  )
inline

◆ operator-=() [1/2]

FL_FP& FL_FP::operator-= ( const FL_FP b)
inline

◆ operator-=() [2/2]

FL_FP& FL_FP::operator-= ( const double &  b)
inline

◆ operator/=() [1/2]

FL_FP& FL_FP::operator/= ( const FL_FP b)
inline

◆ operator/=() [2/2]

FL_FP& FL_FP::operator/= ( const double &  b)
inline

◆ operator=()

FL_FP& FL_FP::operator= ( const double &  a)
inline

Friends And Related Function Documentation

◆ operator!

bool operator! ( const FL_FP b)
friend

◆ operator!= [1/3]

bool operator!= ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator!= [2/3]

bool operator!= ( const FL_FP a,
const double &  b 
)
friend

◆ operator!= [3/3]

bool operator!= ( const double &  a,
const FL_FP b 
)
friend

◆ operator* [1/3]

FL_FP operator* ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator* [2/3]

FL_FP operator* ( const FL_FP a,
const double &  b 
)
friend

◆ operator* [3/3]

FL_FP operator* ( const double &  a,
const FL_FP b 
)
friend

◆ operator+ [1/3]

FL_FP operator+ ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator+ [2/3]

FL_FP operator+ ( const FL_FP a,
const double &  b 
)
friend

◆ operator+ [3/3]

FL_FP operator+ ( const double &  a,
const FL_FP b 
)
friend

◆ operator- [1/3]

FL_FP operator- ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator- [2/3]

FL_FP operator- ( const FL_FP a,
const double &  b 
)
friend

◆ operator- [3/3]

FL_FP operator- ( const double &  a,
const FL_FP b 
)
friend

◆ operator/ [1/3]

FL_FP operator/ ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator/ [2/3]

FL_FP operator/ ( const FL_FP a,
const double &  b 
)
friend

◆ operator/ [3/3]

FL_FP operator/ ( const double &  a,
const FL_FP b 
)
friend

◆ operator< [1/3]

bool operator< ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator< [2/3]

bool operator< ( const FL_FP a,
const double &  b 
)
friend

◆ operator< [3/3]

bool operator< ( const double &  a,
const FL_FP b 
)
friend

◆ operator<= [1/3]

bool operator<= ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator<= [2/3]

bool operator<= ( const FL_FP a,
const double &  b 
)
friend

◆ operator<= [3/3]

bool operator<= ( const double &  a,
const FL_FP b 
)
friend

◆ operator== [1/3]

bool operator== ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator== [2/3]

bool operator== ( const FL_FP a,
const double &  b 
)
friend

◆ operator== [3/3]

bool operator== ( const double &  a,
const FL_FP b 
)
friend

◆ operator> [1/3]

bool operator> ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator> [2/3]

bool operator> ( const FL_FP a,
const double &  b 
)
friend

◆ operator> [3/3]

bool operator> ( const double &  a,
const FL_FP b 
)
friend

◆ operator>= [1/3]

bool operator>= ( const FL_FP a,
const FL_FP b 
)
friend

◆ operator>= [2/3]

bool operator>= ( const FL_FP a,
const double &  b 
)
friend

◆ operator>= [3/3]

bool operator>= ( const double &  a,
const FL_FP b 
)
friend

The documentation for this class was generated from the following files: